package org.jeecg.modules.job.ums.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: 聊天记录
 * @Author: jeecg-boot
 * @Date:   2022-12-18
 * @Version: V1.0
 */
@Data
@TableName("ums_chat_history")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="ums_chat_history对象", description="聊天记录")
public class UmsChatHistory implements Serializable {
    private static final long serialVersionUID = 1L;

    //接收第三方
    @TableField(exist = false)
    private long timestamp;
    @TableField(exist = false)
    private String userId;
    @TableField(exist = false)
    private String keyword;

	/**消息id*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "消息id")
    private java.lang.String id;
	/**区域*/
	@Excel(name = "区域", width = 15)
    @ApiModelProperty(value = "区域")
    private java.lang.String restHost;
	/**common key*/
	@Excel(name = "common key", width = 15)
    @ApiModelProperty(value = "common key")
    private java.lang.String appKey;
	/**私聊A方*/
	@Excel(name = "私聊A方", width = 15)
    @ApiModelProperty(value = "私聊A方")
    private java.lang.String userAId;
	/**私聊B方*/
	@Excel(name = "私聊B方", width = 15)
    @ApiModelProperty(value = "私聊B方")
    private java.lang.String userBId;
	/**群聊ID*/
	@Excel(name = "群聊ID", width = 15)
    @ApiModelProperty(value = "群聊ID")
    private java.lang.String groupId;
	/**岗位ID*/
	@Excel(name = "岗位ID", width = 15)
    @ApiModelProperty(value = "岗位ID")
    private java.lang.String positionId;
	/**类型：text、audio、image、video*/
	@Excel(name = "类型：text、audio、image、video", width = 15)
    @ApiModelProperty(value = "类型：text、audio、image、video")
    private java.lang.String type;
	/**消息ID*/
	@Excel(name = "消息ID", width = 15)
    @ApiModelProperty(value = "消息ID")
    private java.lang.String messageId;
	/**发送者ID*/
	@Excel(name = "发送者ID", width = 15)
    @ApiModelProperty(value = "发送者ID")
    private java.lang.String senderId;
	/**接收者ID*/
	@Excel(name = "接收者ID", width = 15)
    @ApiModelProperty(value = "接收者ID")
    private java.lang.String receiverId;
	/**发送时间*/
	@Excel(name = "发送时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "发送时间")
    private java.util.Date sendTime;
	/**文本内容*/
	@Excel(name = "文本内容", width = 15)
    @ApiModelProperty(value = "文本内容")
    private java.lang.String texts;
	/**名称，针对非文本*/
	@Excel(name = "名称，针对非文本", width = 15)
    @ApiModelProperty(value = "名称，针对非文本")
    private java.lang.String name;
	/**内容类型：audio/m4a,image/jpeg,video/mp4等*/
	@Excel(name = "内容类型：audio/m4a,image/jpeg,video/mp4等", width = 15)
    @ApiModelProperty(value = "内容类型：audio/m4a,image/jpeg,video/mp4等")
    private java.lang.String contentType;
	/**url地址，图片或者视频地址*/
	@Excel(name = "url地址，图片或者视频地址", width = 15)
    @ApiModelProperty(value = "url地址，图片或者视频地址")
    private java.lang.String url;
	/**封面地址,针对视频*/
	@Excel(name = "封面地址,针对视频", width = 15)
    @ApiModelProperty(value = "封面地址,针对视频")
    private java.lang.String coverUrl;
	/**时长，视频、音频*/
	@Excel(name = "时长，视频、音频", width = 15)
    @ApiModelProperty(value = "时长，视频、音频")
    private java.lang.Double duration;
	/**宽度*/
	@Excel(name = "宽度", width = 15)
    @ApiModelProperty(value = "宽度")
    private java.lang.Integer width;
	/**高度*/
	@Excel(name = "高度", width = 15)
    @ApiModelProperty(value = "高度")
    private java.lang.Integer height;
	/**大小*/
	@Excel(name = "大小", width = 15)
    @ApiModelProperty(value = "大小")
    private java.lang.Double size;
	/**内容信息*/
	@Excel(name = "内容信息", width = 15)
    @ApiModelProperty(value = "内容信息")
    private java.lang.String payload;
	/**排序*/
	@Excel(name = "排序", width = 15)
    @ApiModelProperty(value = "排序")
    private java.lang.Integer sort;
	/**启用状态*/
	@Excel(name = "启用状态", width = 15)
    @ApiModelProperty(value = "启用状态")
    private java.lang.Integer status;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private java.util.Date createTime;
	/**修改人*/
    @ApiModelProperty(value = "修改人")
    private java.lang.String updateBy;
	/**修改时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "修改时间")
    private java.util.Date updateTime;
	/**所属部门编码*/
    @ApiModelProperty(value = "所属部门编码")
    private java.lang.String sysOrgCode;
	/**tenantId*/
	@Excel(name = "tenantId", width = 15)
    @ApiModelProperty(value = "tenantId")
    private java.lang.Integer tenantId;
	/**删除状态(0-正常,1-已删除)*/
	@Excel(name = "删除状态(0-正常,1-已删除)", width = 15)
    @ApiModelProperty(value = "删除状态(0-正常,1-已删除)")
    private java.lang.Integer delFlag;
}
